# 1.打开文件
f = open('./a.txt','a+',encoding='utf-8') # 读取文件
# f = open('D:\\code\\python\\final\\wh6\\day05\\a.txt','a+',encoding='utf-8') # 读取文件
# print(f) # <_io.TextIOWrapper name='./a.txt' mode='r+' encoding='cp936'>

# 移动光标
# 1.移动光标到文件开头
# 参数1:偏移  参数2:基准点 0:表示从文件开头开始移动,1:表示从当前位置开始移动,2:表示从文件末尾开始移动
# 两个参数必须要有一个是0,否则会报错：ValueError: seek() takes at least 1 argument (0 given)
f.seek(10,0) # 移动光标到文件开头,参数1:表示移动的字节数,参数2:表示从哪个位置开始移动,0表示从文件开头开始移动,1表示从当前位置开始移动,2表示从文件末尾开始移动

# 2.读取文件 参数n:表示读取n个字符，默认值为-1，表示读取所有字符
# 2.1 直接按byte读取
c = f.read() # 读取文件的内容
# c = f.read(10) # 读取文件的内容
# 2.2 按行读取
# c = f.readline() # 读取文件的第一行
# print(c)
# c = f.readline() # 读取文件的第一行
# print(c)
# 2.3 按行读取,返回一个列表,列表中的每个元素是文件的一行
# c = f.readlines() # 读取文件的所有行
print(c)
# 3.关闭文件
f.close() # 关闭文件后，就不能再操作文件了，否则会报错：ValueError: I/O operation on closed file.